﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;

namespace Cataloger.Kontrolki
{
    public partial class WlasciwosciKatalogu : UserControl
    {
        Katalog katalogWyswietlany;
        public WlasciwosciKatalogu(Katalog kat)
        {


            InitializeComponent();
            this.chckHaslo.Checked = kat.JestHaslo;
            this.chkKompresja.Checked = kat.Kompresuj;
            this.pctBoxIkona.Image = Cataloger.Kontrolki.ListViewCataloger.il.ImageList.Images["katalog"];
            this.textBox1.Text = kat.Nazwa;
            this.textBox1.ForeColor = kat.Kolor;
            this.lblTyp.Text = kat.Typ;
            this.lblUtw.Text = kat.DataUtworzenia.ToString();
            this.lblMod.Text = kat.DataAktualizacji.ToString();
            if (kat.nazwaZaladowana != null)
            {
                this.lblPliiKatalogu.Text = kat.nazwaZaladowana;
                FileInfo fi = new FileInfo(kat.nazwaZaladowana);
                this.lblRozmiarPliku.Text = fi.Length.ToProperUnit();
                this.lblOstZapis.Text=fi.LastWriteTime.ToString();                  
            }

            this.lblZawiera.Text = string.Format("Plików: {0} Folderów: {1}", kat.IlePlikow.ToString("N0"), kat.IleFolderow.ToString("N0"));
            this.lblLaczniedyskow.Text = string.Format("{0} ({1})",kat.LiczbaNosnikow,kat.Rozmiar.ToProperUnit());
            this.lblHDD.Text = string.Format("{0} ({1})", kat.IleHdd, kat.RozmiarHdd.ToProperUnit());
            this.lblCD.Text = string.Format("{0} ({1})", kat.IleCdDvd, kat.RozmiarCdDvd.ToProperUnit());
            this.lblUSB.Text = string.Format("{0} ({1})", kat.IleRemovable, kat.RozmiarRemovable.ToProperUnit());
            this.lblSieciowe.Text = string.Format("{0} ({1})", kat.IleNetwHdd, kat.RozmiarNetwHdd.ToProperUnit());

            this.pctHdd.Image = Properties.Resources.dyskTwardy;
            this.pctCd.Image = Properties.Resources.plytaCD;
            this.pctUSB.Image = Properties.Resources.dyskUSB;
            this.pctNet.Image = Properties.Resources.dyskSieciowy.ToBitmap();

            this.katalogWyswietlany = kat;
   
        }

        private void btnZmKat_Click(object sender, EventArgs e)
        {
            FrmWybKategorii fKategor = new FrmWybKategorii();
            if (fKategor.ShowDialog() == DialogResult.OK)
            {
                katalogWyswietlany.Kategoria = fKategor.Kategor;
            }
        }

        private void chckHaslo_Click(object sender, EventArgs e)
        {
            if (!chckHaslo.Checked)
            {
                FrmUsunHaslo fusun = new FrmUsunHaslo();
                if (fusun.ShowDialog() == DialogResult.OK)
                {
                    if (katalogWyswietlany.UsunHaslo(fusun.Haslo))
                    {
                        chckHaslo.Checked = false;
                    }
                    else
                    {
                        chckHaslo.Checked = true;
                    }
                }
                else
                {
                    chckHaslo.Checked = true;
                }
            }
            else
            {
                FrmUstawHaslo fustaw = new FrmUstawHaslo();
                if (fustaw.ShowDialog() == DialogResult.OK)
                {
                    if (katalogWyswietlany.UstawHaslo(fustaw.Haslo))
                    {
                        chckHaslo.Checked = true;
                    }
                    else
                    {
                        chckHaslo.Checked = false;
                    }
                }
                else
                {
                    chckHaslo.Checked = false;
                }
            }
        }

        private void chkKompresja_Click(object sender, EventArgs e)
        {
            if (!chkKompresja.Checked)
            {
                katalogWyswietlany.Kompresuj = false;
                chkKompresja.Checked = false;
            }
            else
            {
                katalogWyswietlany.Kompresuj = true;
                chkKompresja.Checked = true;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            FrmZmienNazwe fNazwa = new FrmZmienNazwe(katalogWyswietlany);
            if (fNazwa.ShowDialog() == DialogResult.OK)
            {
                katalogWyswietlany.Nazwa = fNazwa.Nazwa;
                textBox1.Text = katalogWyswietlany.Nazwa;
            }
        }


    }
}
